The popularity of Object Oriented languages and environments and the volume of applications developed exploiting these benefits challenge any opportunity to exploit a selective instantiation of persisted fields required for the specific application. For example, a Customer object may have thirty fields that contain base information such as Name and Customer ID, but also contain Address, multiple phone numbers, birth date, etc. A particular application that needs to perform a mailing to a set of customers may only need Name and Address fields, yet when the application accesses a Customer object the entire set of fields needed to populate the object must be retrieved and the object materialized.